[INFO] fetching crate tao-of-rust 1.0.2...
[INFO] checking tao-of-rust-1.0.2 against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] extracting crate tao-of-rust 1.0.2 into /workspace/builds/worker-14/source
[INFO] validating manifest of crates.io crate tao-of-rust 1.0.2 on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate tao-of-rust 1.0.2
[INFO] finished tweaking crates.io crate tao-of-rust 1.0.2
[INFO] tweaked toml for crates.io crate tao-of-rust 1.0.2 written to /workspace/builds/worker-14/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded failures_crate v0.1.0
[INFO] [stderr]   Downloaded csv_challenge v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aa25d0142a39462a404c18d15b6549b4de07c44c5a2debf1bd2f5bae03120b9f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "aa25d0142a39462a404c18d15b6549b4de07c44c5a2debf1bd2f5bae03120b9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa25d0142a39462a404c18d15b6549b4de07c44c5a2debf1bd2f5bae03120b9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa25d0142a39462a404c18d15b6549b4de07c44c5a2debf1bd2f5bae03120b9f", kill_on_drop: false }`
[INFO] [stdout] aa25d0142a39462a404c18d15b6549b4de07c44c5a2debf1bd2f5bae03120b9f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5af5730e7104632cc20c6980722c038d6a57aef96d88215a12919339aa7c26c1
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5af5730e7104632cc20c6980722c038d6a57aef96d88215a12919339aa7c26c1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.21
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking gimli v0.22.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking object v0.20.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking addr2line v0.13.0
[INFO] [stderr]     Checking backtrace v0.3.50
[INFO] [stderr]    Compiling structopt-derive v0.2.18
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]     Checking structopt v0.2.18
[INFO] [stderr]     Checking csv_challenge v0.1.0
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking failures_crate v0.1.0
[INFO] [stderr]     Checking tao-of-rust v1.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch01/mod.rs:106:20
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fly_dyn(s: &Fly) -> bool {
[INFO] [stdout]     |                    ^^^ help: use `dyn`: `dyn Fly`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch02/function.rs:188:27
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn two_times() -> Box<Fn(i32) -> i32> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(i32) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/ch02/control_flow.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ch02/control_flow.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 |         1...3 => println!("All"),
[INFO] [stdout]     |          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch01/mod.rs:106:20
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fly_dyn(s: &Fly) -> bool {
[INFO] [stdout]     |                    ^^^ help: use `dyn`: `dyn Fly`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch02/function.rs:188:27
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn two_times() -> Box<Fn(i32) -> i32> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(i32) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/ch02/primitives.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |     for i in (1..5) {
[INFO] [stdout]     |              ^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/ch02/primitives.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |     for i in (1..=5) {
[INFO] [stdout]     |              ^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/ch02/control_flow.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ch02/control_flow.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 |         1...3 => println!("All"),
[INFO] [stdout]     |          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/ch02/structs.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |       let gender = if (self.gender == 1) {"boy"} else {"girl"};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/ch02/primitives.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |     for i in (1..5) {
[INFO] [stdout]     |              ^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ch03/abstract_type.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn dynamic_dispatch(t: &Bar) {
[INFO] [stdout]    |                             ^^^ help: use `dyn`: `dyn Bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Drop` is imported redundantly
[INFO] [stdout]   --> src/ch04/raii.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use std::ops::Drop;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ch06/closures.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn counter(i: i32) -> Box<Fn(i32) -> i32> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(i32) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch06/closures.rs:512:38
[INFO] [stdout]     |
[INFO] [stdout] 512 |     fn boxed_closure(c: &mut Vec<Box<Fn()>>){
[INFO] [stdout]     |                                      ^^^^ help: use `dyn`: `dyn Fn()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch06/closures.rs:519:28
[INFO] [stdout]     |
[INFO] [stdout] 519 |         let mut c: Vec<Box<Fn()>> = vec![];
[INFO] [stdout]     |                            ^^^^ help: use `dyn`: `dyn Fn()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch06/closures.rs:638:19
[INFO] [stdout]     |
[INFO] [stdout] 638 |     fn bar(b: Box<for<'f> DoSomething<&'f usize>>) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'f> DoSomething<&'f usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/ch02/primitives.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |     for i in (1..=5) {
[INFO] [stdout]     |              ^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/ch02/structs.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |       let gender = if (self.gender == 1) {"boy"} else {"girl"};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ch03/abstract_type.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn dynamic_dispatch(t: &Bar) {
[INFO] [stdout]    |                             ^^^ help: use `dyn`: `dyn Bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Drop` is imported redundantly
[INFO] [stdout]   --> src/ch04/raii.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use std::ops::Drop;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ch06/closures.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn counter(i: i32) -> Box<Fn(i32) -> i32> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(i32) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch06/closures.rs:512:38
[INFO] [stdout]     |
[INFO] [stdout] 512 |     fn boxed_closure(c: &mut Vec<Box<Fn()>>){
[INFO] [stdout]     |                                      ^^^^ help: use `dyn`: `dyn Fn()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch06/closures.rs:519:28
[INFO] [stdout]     |
[INFO] [stdout] 519 |         let mut c: Vec<Box<Fn()>> = vec![];
[INFO] [stdout]     |                            ^^^^ help: use `dyn`: `dyn Fn()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ch06/closures.rs:638:19
[INFO] [stdout]     |
[INFO] [stdout] 638 |     fn bar(b: Box<for<'f> DoSomething<&'f usize>>) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'f> DoSomething<&'f usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0520]: `swim` specializes an item from a parent `impl`, but that item is not marked `default`
[INFO] [stdout]    --> src/ch03/trait_limit.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |       impl<T> Swimmer for Diver<T> {}
[INFO] [stdout]     |       ------------------------------- parent `impl` is here
[INFO] [stdout] ...
[INFO] [stdout] 157 | /         fn swim(&self) {
[INFO] [stdout] 158 | |             println!("drowning, help!")
[INFO] [stdout] 159 | |         }
[INFO] [stdout]     | |_________^ cannot specialize default item `swim`
[INFO] [stdout]     |
[INFO] [stdout]     = note: to specialize, `swim` in the parent `impl` must be marked `default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0520]: `swim` specializes an item from a parent `impl`, but that item is not marked `default`
[INFO] [stdout]    --> src/ch03/trait_limit.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |       impl<T> Swimmer for Diver<T> {}
[INFO] [stdout]     |       ------------------------------- parent `impl` is here
[INFO] [stdout] ...
[INFO] [stdout] 157 | /         fn swim(&self) {
[INFO] [stdout] 158 | |             println!("drowning, help!")
[INFO] [stdout] 159 | |         }
[INFO] [stdout]     | |_________^ cannot specialize default item `swim`
[INFO] [stdout]     |
[INFO] [stdout]     = note: to specialize, `swim` in the parent `impl` must be marked `default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0520`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tao-of-rust`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0520`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "5af5730e7104632cc20c6980722c038d6a57aef96d88215a12919339aa7c26c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5af5730e7104632cc20c6980722c038d6a57aef96d88215a12919339aa7c26c1", kill_on_drop: false }`
[INFO] [stdout] 5af5730e7104632cc20c6980722c038d6a57aef96d88215a12919339aa7c26c1
